// pages/patientCardEdit/index.js
import {
  ApiDelPatient,
  ApiEditPatient,
  ApiGetCaptchaCode,
  ApiDefaultCard
} from "../../api/index"
import {
  areaList
} from '../../miniprogram_npm/@vant/area-data/area.js';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    areaList,
    opt: {},
    countdown: 0,
    changePhone: false,
    checked: false
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      data: JSON.parse(options.data),
      dataCopy: JSON.parse(options.data),
      checked: JSON.parse(options.data).use == '1' ? true : false
    })
  },




  onChangeSwitch({
    detail
  }) {
    this.setData({
      checked: detail
    })
    if (detail) {
      this.setData({
        'data.use': 1
      })
      ApiDefaultCard(this.data.dataCopy.id).then(res => {
        if (res.code == 200) {
          wx.showToast({
            title: '设置成功',
          })
        }
      })
    }

  },



  rules(val, message) {
    if (!/^1[3456789]\d{9}$/.test(val)) {
      wx.showToast({
        title: `请输入正确的${message}`,
        icon: 'none'
      });
      return false;
    } else {
      return true
    }
  },
  getCaptchaCode() {
    if (this.rules(this.data.opt.phone, '手机号')) {
      ApiGetCaptchaCode({
        phone: this.data.opt.phone
      }).then(res => {
        this.setData({
          countdown: 60,
        }, () => {
          this.getCountdown()
        })
      })
    }

  },

  getCountdown() {
    this.timer = setInterval(_ => {
      const countdown = this.data.countdown - 1
      if (countdown < 1) {
        clearInterval(this.timer)
        this.timer = null
      }
      this.setData({
        countdown
      })
    }, 1000)
  },
  //切换信息案件
  onChange(e) {
    const type = e.currentTarget.dataset.type
    const value = e.detail
    console.log(this.data.dataCopy.phone, value)
    if (type == 'phone') {
      if (this.data.dataCopy.phone === value) {
        this.setData({
          changePhone: false,
        })
      } else {
        this.setData({
          changePhone: true,
          'opt.code': ''
        })
      }
    }
    this.setData({
      [`opt.${type}`]: value
    })


  },
  //解绑就诊人
  deletePatientCard(e) {
    let that = this
    wx.showModal({
      title: "是否确认解绑该就诊人？",
      success(res) {
        if (res.confirm) {
          ApiDelPatient(that.data.data.id).then((res) => {
            if (res.code == '200') {
              wx.showToast({
                title: "解绑成功",
              })
              setTimeout(() => {
                wx.navigateBack()
              }, 500);
            }

          })
        }

      }
    })


  },
  //编辑就诊人
  editPatientCard(e) {

    this.setData({
      showpopup: true,
      opt: this.data.data
    })
  },
  //请选择地址
  selectArea() {
    this.setData({
      showArea: true
    })
  },

  confirmBtn(e) {
    console.log(e)
    this.setData({
      showArea: false,
      'opt.area': e.detail.values[0].name + '-' + e.detail.values[1].name + '-' + e.detail.values[2].name
    })
  },
  cancelBtn() {
    this.setData({
      showArea: false
    })
  },


  handleClose() {
    this.setData({
      showpopup: false
    })
  },
  validatePhone(phone) {
    // 国内手机号规则：1开头，第二位3-9，后9位数字，共11位
    const regExp = /^1[3-9]\d{9}$/;
    // 去除可能存在的空格
    const trimmedPhone = (phone || '').trim();
    return regExp.test(trimmedPhone);
  },
  //提交修改信息
  handleSubmit() {
    console.log(this.data.opt.phone)
    if (!this.validatePhone(this.data.opt.phone)) {
      wx.showToast({
        title: '手机号不正确',
        icon: 'error'
      })
      return
    }
    ApiEditPatient(this.data.data.id, this.data.opt).then(res => {
      if (res.code == '200') {
        wx.showToast({
          title: "提交成功",
        })
        setTimeout(() => {
          wx.navigateBack()
        }, 1000);
      }
    })
  },



  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})